#ifndef CAJAPOW_H_
#define CAJAPOW_H_

#include "Obstaculo.h"
#include "../Personajes/Personaje.h"
#include "../Enemigos/Tortuga.h"
#include "../Enemigos/Hongo.h"
#include "../Enemigos/Bomba.h"

#define LAPSUS_MINIMO_POW_INACTIVO 20000

using namespace std;

class EstadoCajaPow {

	public:

	static const int Activa;
	static const int Accionando;
	static const int Inactiva;

	static const vector<int> accionesParticulares;
	static const vector<string> descripcionAccionesParticulares;
};

class CajaPow : public ObjetoEstatico {

	Uint32 tiempoUltimaAccion;
	int estadoParticular;
	vector<Animacion*> accionesParticulares;
	vector<ObjetoMovible*> v_movibles;

	public:

		CajaPow(int x, int y, int maximoX, int maximoY);
		void Powear();
		void setEnemigos(vector<ObjetoMovible*> v_movibles);
		virtual pair<idImagen_t, int> getDibujable(Uint32 time);
		void setEstadoParticular(int estadoParticular);
		void addAccionParticular(int idImagen, int cuadros);
		virtual void ColisionarConPersonaje(ObjetoEstatico* personaje, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
		virtual void ColisionarConEnemigo(ObjetoEstatico* movible, int colX, int colY, int colXvieja = NULL, int colYvieja = NULL);
};


#endif /* CAJAPOW_H_ */
